package com.mvc.demo.web;


import com.tools.hry.utils.ValidateUtils;
import com.tools.hry.xls.analysis.extension.ExcelRule;
import com.tools.hry.xls.exception.ExcelContentInvalidException;
import com.tools.hry.xls.exception.ExcelParseException;

import java.text.ParseException;

/**
 * Created by 峥桂 on 2017/1/12.
 */
public class ClaimsDataCheckRule implements ExcelRule<ClaimsExcelBeanRead> {

    /**
     * 实现对单元格内容的检查
     * 如果内容不合法，则抛出ExcelContentInvalidException
     *
     * @param value
     * @param columnName
     * @param fieldName
     * @throws ExcelContentInvalidException
     */
    public void checkCell(Object value, String columnName, String fieldName) throws ExcelContentInvalidException, ExcelParseException {

    }

    /**
     * 内容过滤规则
     * 在该方法中对内容进行修改，并返回修改后的对象
     *
     * @param value
     * @param columnName
     * @param fieldName
     * @return t
     */
    public ClaimsExcelBeanRead filterCell(Object value, String columnName, String fieldName) {
        return null;
    }

    /**
     * 实现对行数据内容的检查
     * 如果内容不合法，则抛出ExcelContentInvalidException
     *
     * @param rowObj
     * @throws ExcelContentInvalidException
     * @throws ExcelParseException
     */
    public void checkRow(ClaimsExcelBeanRead rowObj) throws ExcelContentInvalidException, ExcelParseException {
        try {
            String message=ValidateUtils.validateIDCard(rowObj.getDangerIdCard());
            if(!"".equals(message)){
               // throw new ExcelParseException("出险人证件号:"+message);
            }

        } catch (ParseException e) {
            throw new ExcelParseException(e.getMessage());
        }
    }

    /**
     * 实现对行数据内容过滤规则
     * 在该方法中对内容进行修改，并返回修改后的对象
     *
     * @param rowObj
     * @return
     */
    public ClaimsExcelBeanRead filterRow(ClaimsExcelBeanRead rowObj) {
        return null;
    }
}
